
#ifndef _GLASSES_3D_
#define _GLASSES_3D_

#include "sys_config.h"
#include "bt_types.h"
#include "sys_types.h"
#include "lmp_types.h"


#define  DEBUG_3DG	0

typedef enum
{
	RDA3D_IDLE  = 0,
	RDA3D_INQUIRY,	 
	RDA3D_PAGE,
	RDA3D_SYN,
	RDA3D_RUN
	
}  t_3dState;

typedef enum
{
	SYN_IDLE = 0,
	SYN_F1,
	SYN_F2,
	SYN_F3
}  t_syn_state;


typedef struct
{
	t_3dState state;
	t_syn_state subState; 
	t_clock   tvClock;
	t_bd_addr tvAddr;
	u_int16	  initial;
	u_int16   toggle;
	t_timer  rx3dTimer;
	t_timer  on3dTimer;
	
} t_3D;


void Glass3D_Initialise(void);
void Glass3D_Sched(void);
void Glass3D_Inquiry_Result(u_int8 event_code,t_lm_event_info* p_event_info);
void Glass3D_ISR(void);
void Glass3D_ProcessHopF(void);
void Glass3D_ProcessID(void);
void Glass3D_ProcessFixedF(void);
void Glass3D_SpecFun(u_int8 *data,u_int8 length);




#endif  // _GLASSES_3D_

